package pers.baiban.sqltoword.convert;

import pers.baiban.sqltoword.model.Tables;
import pers.baiban.sqltoword.vo.TableVO;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import java.util.stream.Collectors;

/**
 * @author 强子初
 * @since 2023/11/27
 */
@Component
public class TablesToTableVOConverter implements Converter<Tables, TableVO> {

    @Override
    public TableVO convert(Tables source) {
        TableVO tableVO = new TableVO();
        tableVO.setTableName(source.getTableName());
        tableVO.setTableComment(source.getTableComment());
        tableVO.setNumber(null);
        tableVO.setColumns(source.getColumns()
                .stream()
                .map(it -> new ColumnsToColumnVOConverter().convert(it))
                .collect(Collectors.toList()));
        return tableVO;
    }
}